<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      * {
        padding: 0;
        margin: 0;
      }
      body {
        width: 100vh;
        height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
        background: blanchedalmond;
      }
      div {
        font-size: 5em;
        font-weight: bold;
        text-transform: uppercase;
        color: purple;
      }
      div > span {
        position: relative;
        display: inline-block;
      }
      .color {
        animation-name: color;
        animation-duration: 1s;
        animation-iteration-count: 2;
        animation-timing-function: linear;
        animation-direction: alternate;
      }
      @keyframes color {
        50% {
          color: coral;
          transform: scale(2);
        }
        to {
          color: coral;
          transform-origin: 0.5;
        }
      }
    </style>
  </head>
  <body>
    <div>houdunren.com</div>

    <script>
      let div = document.querySelector("div");
      [...div.textContent].reduce((a, b, index) => {
        a == index && (div.innerHTML = "");
        let span = document.createElement("span");
        span.innerHTML = b;
        div.appendChild(span);
        span.addEventListener("mouseover", function () {
          this.classList.add("color");
        });
        span.addEventListener("animationend", function () {
          this.classList.remove("color");
        });
      }, 0);
    </script>
  </body>
</html>
